const db = wx.cloud.database()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        number: '',
        name: '',
    },
    inputNumber: function (e) {
        this.setData({
            number: e.detail.value
        })
    },
    inputName: function (e) {
        this.setData({
            name: e.detail.value
        })
    },
    sumbit: function () {
        //判断如果学号、姓名没有输入给出提示
        if (this.data.name == "" || this.data.number == "") {
            wx.showToast({
                title: '请输入学号姓名',
            })
            return;
        }

        //先根据学号、姓名，查出该学生的openid是否有值，如果有值，给出提示
        const _ = db.command
        db.collection("student").where({
            //处理学号字段类型是number的情况，把输入的学号转成数字类型
            number: _.eq(parseInt(this.data.number)), //学号相等****
            name: this.data.name // 姓名相等
        }).get({
            success: res => {
                console.log(res)
                if (res.data.length == 1) {
                    //找到该学生
                    let stu = res.data[0]

                    if (stu.openid != undefined && stu.openid.length > 1) {
                        // 如果该学生已经绑定过了，提示已经绑定
                        wx.showToast({
                            title: '已经绑定',
                        })
                    } else {
                        //如果没有绑定，则绑定该学生的openid
                        console.log("准备绑定....")
                        // student表，默认权限，不允许这里的修改
                        // 一种解决方式是新写云函数，在云函数里面修改数据（大多数）
                        // 另一种，表的权限改为完全开放：
                        // {
                        //     "read": true,
                        //     "write": true
                        //   }
                        // 更新学生数据，绑定openid的值，根据查到的学生的_id值，找到该学生记录
                        db.collection("student").doc(stu._id).update({
                            data: {
                                openid: wx.getStorageSync('openid')
                            },
                            success: res => {
                                console.log("绑定成功", res)
                                if (res.stats.updated == 1) {
                                    //给出成功的提示，然后返回上一页
                                    wx.showModal({
                                        title: '提示',
                                        content: '绑定成功',
                                        success: res => {
                                            wx.navigateBack()
                                        }
                                    })

                                }
                            }
                        })
                    }

                } else {
                    //数组长度不是1，说明没有这个学生
                    wx.showToast({
                        title: '请检查学号姓名',
                    })
                    return
                }

            },
            fail: res => {
                console.log(res)
            }
        })

        //否则提交数据，保存该学生的openid


        console.log(this.data.number)
        console.log(this.data.name)
        console.log(wx.getStorageSync('myOpenid'))
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})